
#include "..\Modulos\Formulas\formulas.h"

const int CANT=30;

int main(){
Formulas formulas;
Proposiciones proposicionvacia,proposicion1,proposicion2,proposicion3,proposicion4,proposicion5,proposicion6,proposicion7;
Expresion expresion;
int num,i=0,topeFormulas;

crearFormula(formulas,CANT);

    printf("***************************************\n");
    printf("*        PRUEBA MODULO FORMULAS       *\n");
    printf("***************************************\n");

    crearProposicion(proposicionvacia);
    crearProposicion(proposicion1);
    crearProposicion(proposicion2);
    crearProposicion(proposicion3);
    crearProposicion(proposicion4);


    printf("\nSe realizara la carga automatica de 7 Proposiciones...");

    cargarExpresionLetra('p',expresion);
    proposicion1=constructorDeProposicion(proposicionvacia,expresion,proposicionvacia);
    cargarExpresionLetra('q',expresion);
    proposicion2=constructorDeProposicion(proposicionvacia,expresion,proposicionvacia);
    cargarExpresionLetra('z',expresion);
    proposicion3=constructorDeProposicion(proposicionvacia,expresion,proposicionvacia);
    cargarExpresionConectiva(And,expresion);
    proposicion4=constructorDeProposicion(proposicion1,expresion,proposicion2);
    cargarExpresionConectiva(Or,expresion);
    proposicion5=constructorDeProposicion(proposicion1,expresion,proposicion3);
    cargarExpresionConectiva(siysolosi,expresion);
    proposicion6=constructorDeProposicion(proposicion4,expresion,proposicion5);
    cargarExpresionConectiva(entonces,expresion);
    proposicion7=constructorDeProposicion(proposicion6,expresion,proposicion5);

    printf("\n     Prop1: ");
    desplegarProposicion(proposicion1);
    printf("\n     Prop2: ");
    desplegarProposicion(proposicion2);
    printf("\n     Prop3: ");
    desplegarProposicion(proposicion3);
    printf("\n     Prop4: ");
    desplegarProposicion(proposicion4);
    printf("\n     Prop5: ");
    desplegarProposicion(proposicion5);
    printf("\n     Prop6: ");
    desplegarProposicion(proposicion6);
    printf("\n     Prop7: ");
    desplegarProposicion(proposicion7);

    printf("\n\nSe realizara la carga automatica de las proposiciones en Formulas...");

    cargarFormula(formulas,proposicion1);
    cargarFormula(formulas,proposicion2);
    cargarFormula(formulas,proposicion3);
    cargarFormula(formulas,proposicion4);
    cargarFormula(formulas,proposicion5);
    cargarFormula(formulas,proposicion6);
    cargarFormula(formulas,proposicion7);

    topeFormulas=seleccionarTope(formulas);
    printf("\nFormulas cargadas:\n");
    while(i<topeFormulas){
        num=i+1;
        printf("     e%d= ",num);
        desplegarFormula(formulas,i);
        printf("\n");
        i++;
    }


    if(!existeProposicion(formulas,8))
        printf("\nLa formula 8 esta disponible. ");

    if(!formulasLleno(formulas))
        printf("Aun quedan slots para cargar mas formulas");

    printf("\nSe eliminaran las formulas cargadas... ");
    eliminarFormulas(formulas);
    if(formulasVacio(formulas))
        printf("\nSe eliminaron las formulas\n");

    return 0;
}
